1
A Abstração 'Tudo é um Arquivo'
AI031Lesson 10
00:00

No Linux, a "Tudo é um Arquivo" abstração mapeia todas as fontes de entrada/saída — desde arquivos regulares até redes sockets—para um fluxo uniforme de bytes. Essa interface unificada permite uma I/O de nível de sistema consistente I/O de Nível de Sistema para gerenciar um processo servidor e processo cliente transação em processadores multi-núcleo.

O Modelo Unificado

Seja um programa acessando um arquivo regular, diretório, ou hardware como um adaptador de rede, ele usa os mesmos primitivos. Como visto em Organização de Hardware (Figura 11.2), o sistema operacional conecta a CPU e a memória aos dispositivos por meio da barramento de E/S, tratando a rede como um arquivo para simplificar concorrência em processadores multi-núcleo.

Arquitetura de Barramento Sistema/MemóriaCPUBridge de E/SAdaptador de Rede

I/O Robusta e Metadados

Para lidar com Contagens Curtas (onde os bytes solicitados $k$ se relacionam com os bytes disponíveis $m$ como $k \ge m$), o pacote Rio (I/O Robusta) fornece rio_readinitb para Entrada Bufferizada. Os metadados são gerenciados por meio de stat, enquanto permissões como O_RDWR e S_IROTH são limitadas pelo umask.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>